package gui.main;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.util.Vector;

import gui.DBConnect;
import gui.IntStr;


import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

public class Statisztika {
	private static JPanel stat;

	
	public static JPanel createStat(){
		stat = new JPanel();
		stat.setLayout(new BorderLayout());
		DBConnect dbc = new DBConnect();
		String ar = dbc.GetBeallitas("Alapar");
		float ara = Float.parseFloat(ar);
		Vector<Float> lista = dbc.getStat();
		
		// Fejléc
		JPanel fejlec = new JPanel();
		fejlec.setLayout(new GridLayout(0,6));	
		fejlec.add(new JLabel("Összes eladás: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(1))));
		fejlec.add(new JLabel("Havi eladás: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(3))));
		fejlec.add(new JLabel("Napi eladás: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(5))));
		fejlec.add(new JLabel("Összbevétel: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(0)*ara) + " Ft"));
		fejlec.add(new JLabel("Havi bevétel: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(2)*ara) + " Ft"));
		fejlec.add(new JLabel("Napi bevétel: "));
		fejlec.add(new JLabel(Float.toString(lista.elementAt(4)*ara) + " Ft"));	
		stat.add(fejlec,BorderLayout.PAGE_END);
		
		String[] columnNames = {"Név",
                "Eladások száma"};
		Object[][] data = null;
		Object[][] data2 = null;
		
		// Statisztikatáblák
		JTabbedPane tablak = new JTabbedPane();

		// Legsikeresebb film panel
		JPanel legsikeresebbfilm = new JPanel();
		legsikeresebbfilm.setLayout(new BorderLayout());
		Vector<IntStr> sorok = dbc.Legjobbfilmek();
		data = convertArray(sorok);
		
		TableModel model = new DefaultTableModel(data, columnNames);
	    JTable sikerfilm = new JTable(model);
		sikerfilm.setEnabled(false);
		sikerfilm.setBackground(null);
		legsikeresebbfilm.add(sikerfilm,BorderLayout.CENTER);
		
		// Legsikeresebb eladók panel
		JPanel legsikeresebbeladok = new JPanel();
		legsikeresebbeladok.setLayout(new BorderLayout());
		Vector<IntStr> sorok2 = dbc.Legjobbeladok();
		data2 = convertArray(sorok2);
		TableModel model2 = new DefaultTableModel(data2, columnNames);
		JTable sikereladok = new JTable(model2);	
		sikereladok.setEnabled(false);
		sikereladok.setBackground(null);
		legsikeresebbeladok.add(sikereladok,BorderLayout.CENTER);
		
		tablak.addTab("Legsikeresebb filmek", legsikeresebbfilm);
		tablak.setMnemonicAt(0, KeyEvent.VK_1);
		tablak.addTab("Legsikeresebb eladók", legsikeresebbeladok);
		tablak.setMnemonicAt(1, KeyEvent.VK_2);
		
		
		stat.add(tablak,BorderLayout.CENTER);
		
		
		return stat;
	}
	
	public static Object[][] convertArray(Vector<IntStr> kat){
		Object[][] con = new Object[kat.size()][2];
		
		for(int i=0; i<kat.size(); i++){			
			con[i][1] = kat.elementAt(i).getId() + " db eladás";
			con[i][0] = (i+1) + ". hely: " + kat.elementAt(i).getAdat();
		}
		return con;
	
	}


}
